The present invention generally relates to digital signal processing systems and in particular to a multiplier for use in such systems that performs complex fixed and floating point arithmetic multiplications.
The ability to perform sophisticated vector and scalar arithmetic operations in real time is an important aspect of signal processing systems. Often, however, this requirement is also accompanied by severe physical constraints upon the size, weight, power and cooling of the signal processing system. In the past, signal processor designers have had to compromise among competing requirements, many times resulting in processors with less than adequate performance.
Conventional signal processors may also be limited in performance due to relatively slow system clock rates of around five megahertz, and limited capability to operate on 16 bit fixed point data. The fixed point operational limitations of such conventional signal processors has become significant in many application environments. Many signal processing algorithms require arithmetic computations having a large dynamic range, making 32 bit floating point processing necessary.
With reference to the present invention, complex arithmetic multiplications are frequently utilized in digital signal processing. Complex multiplication, which requires four real number multiplications and two real number additions, has conventionally been computed using very complex circuitry.
Typical of such multipliers is one described in a paper entitled "A 16 Bit.times.16 Bit Pipelined Multiplier Macrocell," by Dennis A Henlin et al, in IEEE Journal of Solid-State Circuits, Vol. SC-20, No. 2, pages 542-547, Apr., 1985. This multiplier employs the well-known modified Booth algorithm to accomplish the multiplication.
Conventional multipliers typically process either fixed point data or floating point data. Typical of such conventional multipliers are those commercially available from Weitek Corporation, Raytheon Incorporated, or Analog Devices Incorporated, and other semiconductor manufactures. However, when it comes to applications requiring both fixed and floating point multiplications within a single multiplier device, which device multiplies operands having a large dynamic range, no conventional multiplier provides the resources to accomplish such multiplications.